package everything;



public abstract class Agent {



	protected int _xLocation;
	protected int _yLocation;
	protected String _orientation;
	protected boolean _onIce;
	protected boolean _isGhost;
	protected int _score;
	protected String _name;
	protected String _color;
	protected String _type;
	protected int _bullets;
	protected int _id;

	protected Agent(){

	}

	public Agent(String name, String color, int x, int y, int id) {
		_xLocation = x;
		_yLocation = y;
		_orientation = "NORTH";
		_name = name;
		_color = color;
		//		_bullets = map.getBullets();
		_onIce = false;
		_score = 0;
		_id = id;
	}

	public int getId() {
		return _id;
	}

	public String getName() {
		return _name;
	}

	public String getColor() {
		return _color;
	}

	public String getDispOrientation() {
		return _orientation;
	}

	public String getSlidingDirection(){
		if (!_onIce) return null;
		else return _orientation;
	}


	public int getX(){
		return _xLocation;
	}
	public int getY(){
		return _yLocation;
	}


	public abstract void makeMove(WorldMap _map);

	public boolean isGhost() {
		return _isGhost;
	}

	public void die(){
		_isGhost = true;
	}

	public int getScore() {
		return _score;
	}

	public boolean hasBullets(){
		return _bullets!=0;
	}

	public int getBullets(){
		return _bullets;
	}

	public String getType() {
		return _type;
	}
}

